package edu.patrones.creacionales.ser;

import edu.patrones.creacionales.fabricaArmas.Arma;
import edu.patrones.creacionales.fabricaArmas.IFabricaArma;
import edu.patrones.creacionales.fabricaArmas.TipoArma;

public abstract class Ser {

	private Arma arma;
	private int vida = 100;

	public int getVida() {
		return vida;
	}

	public Ser(IFabricaArma fabricaArma, TipoArma tipoArma) {
		this.arma = new Arma(fabricaArma, tipoArma);
	}

	public void lanzarGolpe(Ser contrincante) {
		arma.golpear(contrincante);
	}

	public void recibirGolpe(int golpe) {
		this.vida += golpe;
		if (this.vida > 100) {
			this.vida = 100;
		}
	}

	public boolean estaVivo() {

		return this.vida >= 0;
	}
}
